diff --git a/system/libraries/Typography.php b/system/libraries/Typography.php
index 908f420..66c2185 100644
--- a/system/libraries/Typography.php
+++ b/system/libraries/Typography.php
@@ -30,7 +30,7 @@
 	var $block_elements = 'p|div|blockquote|pre|code|h\d|script|ol|ul';
 	
 	// Elements that should not have <p> and <br /> tags within them.
-	var $skip_elements	= 'pre|ol|ul|p';
+	var $skip_elements	= 'p|pre|ol|ul';
 	
 	// Tags we want the parser to completely ignore when splitting the string.
 	var $ignore_elements = 'a|b|i|em|strong|span|img|li';	
@@ -102,21 +102,22 @@
 		// Build our finalized string.  We cycle through the array, skipping tags, and processing the contained text	
 		$str = '';
 		$process = TRUE;
+		$paragraph = FALSE;
 		foreach ($chunks as $chunk)
 		{
 			// Are we dealing with a tag? If so, we'll skip the processing for this cycle.
 			// Well also set the "process" flag which allows us to skip <pre> tags and a few other things.
 			if (preg_match("#<(/*)(".$this->block_elements.").*?\>#", $chunk, $match))
 			{
-				if (preg_match("#".$this->skip_elements."#", $match['2']))
+				if (preg_match("#".$this->skip_elements."#", $match[2]))
 				{
-					$process =  ($match['1'] == '/') ? TRUE : FALSE;		
+					$process =  ($match[1] == '/') ? TRUE : FALSE;					
 				}
-		
+				
 				$str .= $chunk;
 				continue;
 			}
-		
+				
 			if ($process == FALSE)
 			{
 				$str .= $chunk;
@@ -129,7 +130,7 @@
 
 		// Convert Quotes, elipsis, and em-dashes
 		$str = $this->format_characters($str);
-		
+
 		// Do we need to reduce empty lines?
 		if ($this->reduce_empty_lines == TRUE)
 		{
@@ -231,7 +232,7 @@
 		{
 			return $str;
 		}
-		
+
 		$str = str_replace("\n\n", "</p>\n\n<p>", $str);		
 		$str = preg_replace("/([^\n])(\n)([^\n])/", "\\1<br />\\2\\3", $str);
 		
